package org.jiuling.crypto.algorithm;

import org.jiuling.basics.converter.ByteConvert;
import org.jiuling.crypto.exception.CryptoException;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * SHA1加密
 * @author 紫灵
 * @date 2024年11月27日 23时29分43秒
 */
public class SHA1 {

    /**
     * 加密
     * @param param 參數
     * @return 加密后的字符串
     * @throws CryptoException 加密算法异常
     */
    public static String decrypt(String param) throws CryptoException {
        // 将字节数组转换为十六进制字符串
        try {
            return ByteConvert.byteArrayToHexString(
                    // 获取SHA-1实例
                    MessageDigest.getInstance("SHA-1")
                            // 对数据进行哈希计算
                            .digest(param.getBytes())
            );
        } catch (NoSuchAlgorithmException e) {
            throw new CryptoException(e);
        }
    }

}
